package cn.itcast.dao.system;

import cn.itcast.domain.system.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface UserDao {

    //根据企业id查询全部
    List<User> findAll(String companyId);

    //根据id查询
    User findById(String id);

    //保存
    void save(User user);

    //更新
    void update(User user);

    //根据id删除
    void delete(String id);

    //根据用户id查询角色id
    List<String> findRoleIdListByUserId(String id);

    //根据用户id删除中间表数据
    void deleteRoleIdsByUserId(String userId);

    //重新分配中间表
    void saveRoleIdAndUserId(@Param("userId") String userId, @Param("roleId")String roleId);


    User findByEmail(String email);
}
